When performing client-server communication using TCP/IP, the art is widely used that increases continuous operability of a server-side system by making the system redundant and performing a failover when a failure or the like occurs. For example, products that support redundant means or method, such as “Network Server IPCOM” (made by FUJITSU LIMITED), are provided.
Also, as an art for taking over a TCP connection between a server and a client when a failover occurs in a redundant server system while communication is performed between the server and the client using TCP/IP to ensure continuity of communication, “TCP CP (TCP Connection Passing)” and “TCP CP 2” are disclosed.
As a related method for automatically discovering a failure in communication between computers, processing is disclosed that monitors paths between servers in a cluster system composed of a plurality of servers and, when an anomaly is detected, dynamically switches between duplicated IP addresses to change a path.
Also, a method is disclosed that assigns a same IP address to two servers, enabling a LAN of an operating server and disabling a LAN of a standby server, and when a failure occurs in the operating server, switches the standby server to an operating server to enable the LAN thereof, and recognizes an anomaly to reestablish a connection if there is no reply (ACK) from a client side.
The following are referred to as documents which disclose arts related to the embodiments:                Patent Document 1: Japanese Patent Laid-Open No. 9-36862        Patent Document 2: Japanese Patent Laid-Open No. 9-326810        
By combining the above described redundant system and the art of ensuring communication continuity of TCP CP/TCP CP2, it may be possible to take over a TCP connection and continue communication even if a failover occurs in a redundant server system while communication is performed between a client and a server using TCP/IP.
However, since a packet may be lost on a network even when takeover of a TCP connection is completed and it became possible to continue communication, connection recovery processing needs to be embedded in a communication processing program at an application layer.
That is, it is needed to embed in a communication processing program a complex recovery processing logic, such as checking sequentiality of packets and asking the other side of communication to perform resending if packet lost is detected, or disconnecting the connection and reestablishing a connection to resume communication.
As a related method of checking sequentiality of packets in a communication processing program, a method may be conceivable that provides a local rule between a client application and a server application, embeds a data length, a sequence number, etc. in a specific position of data, for example, and checks sequentiality in accordance with these information (a data length, a sequence number, etc).
However, in this case, since the communication processing program determines that a right packet is received if a value within a predetermined range is set at a specific position of the packet, a received packet is recognized as a right packet even if a wrong value is set because of packet lost or the like as long as the value set is a construable value, which could cause malfunctioning.
Also, because of characteristics of a communication processing program, a server application communicates with a plurality of client applications. Thus, separate rules adapted for characteristics of each client need to be set, making program logic of the server application complicated. In addition, a large number of man-hours are needed for tasks such as creating, testing, maintaining, etc. of a program.
Furthermore, as for performance, since check processing is performed for all packets received, communication performance deteriorates significantly.